package com.ruicar.afs.cloud.afscase.loanactivatepool.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruicar.afs.cloud.afscase.loanactivatepool.condition.LoanActivateCondition;
import com.ruicar.afs.cloud.afscase.loanactivatepool.entity.LoanActivatePool;
import com.ruicar.afs.cloud.afscase.loanactivatepool.vo.LoanActivatePoolVO;
import com.ruicar.afs.cloud.common.modules.dto.mq.loan.LoanDiscardDTO;

import java.util.List;

/**
 * @author yk.Li
 * @description 放款待激活池Service
 * @date 2020/5/16 17:03
 */
public interface LoanActivateService extends IService<LoanActivatePool> {
    /**
     * 修改激活状态
     * @param id
     */
    Boolean updateActStatusById(Long id, String state);

    /**
     * 联表查询待放款池数据
     * @param page
     * @param loanActivateCondition
     * @return
     */
    IPage<LoanActivatePoolVO> getLoanActivateInfoList(Page page, LoanActivateCondition loanActivateCondition);

    /**
     * 联表查询待放款池数据
     * @return
     */
    List<LoanActivatePoolVO> getLoanActivateInfoLists();

    /**
     * @param
     * @description 复审完成  插入数据
     * @author yk.Li
     * @date 2020/7/2
     */
    void addLoanActivateInfo(String applyNo);

    /**
     * @param
     * @description 合同激活
     * @author yk.Li
     * @date 2020/7/28
     */
    void doActivate(Long id);

    void  loanActivateAutoAudit();

    /**
     * @Description 激活池废弃合同操作
     * @Author yk.Li
     * @Date 2020/08/13
     */
    void updateDiscardData(Long[] ids);

    /**
     * @Description 合作商废弃合同操作
     * @Author yk.Li
     * @Date 2020/08/13
     */
    void discardCase(LoanDiscardDTO loanDiscardDTO);

    /**
     * @Description 合作商撤回合同操作
     * @Author rongji.zhang
     * @Date 2020/08/31
     */
    void backCase(String contractNo, String status);


    /**
     * @Description 人工激活
     * @Author yk.Li
     * @Date 2020/08/13
     */
    void doActivateOfArtificial(Long[] ids);

    /**
     * @Description 工作流退回放款
     * @Author yk.Li
     * @Date 2020/08/13
     */
    void submitBackLoan(Long id);


}
